import type { Model } from '~/api/base/base-model.ts'
import type { RoleResp } from '~/api/setting/model/role.ts'
import type { DeptResp } from '~/api/setting/model/dept.ts'

export interface UserReq extends Model {
  /**
   * 主键
   */
  id?: string
  /**
   * 头像
   */
  icon?: string
  iconFileList?: string[]
  /**
   * 用户账户
   */
  username?: string
  usernameByLike?: string
  /**
   * 当前密码
   */
  password?: string
  /**
   * 真实名称
   */
  realName?: string
  realNameByLike?: string
  /**
   * 昵称
   */
  nickName?: string
  /**
   * 手机号
   */
  mobileNo?: string
  /**
   * 邮箱
   */
  email?: string
  /**
   * 角色组
   */
  roles?: RoleResp[]
  roleIds?: string[]
  /**
   * 部门组
   */
  depts?: DeptResp[]
  deptIds?: string[]
  /**
   * 首页地址
   */
  homeMenuId?: string
  /**
   * 备注
   */
  note?: string
}

export interface UserResp extends Model {
  /**
   * 主键
   */
  id?: string
  /**
   * 系统Id
   */
  systemId?: string
  /**
   * 用户账户
   */
  username?: string
  /**
   * 当前密码
   */
  password?: string
  /**
   * 头像
   */
  icon?: string
  /**
   * 头像地址
   */
  iconFileUrl?: string
  /**
   * 邮箱
   */
  email?: string
  /**
   * 真实名称
   */
  realName?: string
  /**
   * 昵称
   */
  nickName?: string
  /**
   * 首页地址
   */
  homePath?: string
  /**
   * 描述
   */
  note?: string
  /**
   * 角色组
   */
  roles?: RoleResp[]
  /**
   * 部门组
   */
  depts?: DeptResp[]
}

export interface UserPwdReq extends Model {
  /**
   * 当前密码
   */
  password?: string
  /**
   * 新密码
   */
  newPassword?: string
  /**
   * 确认密码
   */
  confirmPassword?: string
}
